Motion skip mode has recently been adopted as a coding tool for the multi-view video coding (MVC) extension of the International Organization for Standardization/International Electrotechnical Commission (ISO/IEC) Moving Picture Experts Group-4 (MPEG-4) Part 10 Advanced Video Coding (AVC) standard/International Telecommunication Union, Telecommunication Sector (ITU-T) H.264 recommendation (hereinafter the “MPEG-4 AVC standard”). Motion skip mode uses a single global motion vector for each picture to find the corresponding macroblock in the neighboring view and infers motion information. The problem with this approach is that a scene has different disparities for different regions. For example, a foreground object will have a larger disparity as compared to the far background. Approximating the frame-wise disparity with a single global disparity is not accurate.
The prior art use of motion skip mode is largely decomposed into two stages. The first stage involves searching for the corresponding macroblock and the second stage involves deriving the motion information. In the first stage, a “global disparity vector” is used to indicate the corresponding position in the picture of a neighboring view. In the second stage, motion information is derived from the corresponding macroblock in the picture of neighboring view, and the motion information is copied and applied to the current macroblock.
The prior art approach to motion skip mode locates the corresponding macroblock in the neighboring view by means of a global disparity vector (GDV). The global disparity vector is measured by the macroblock-size of units between the current picture and the picture of the neighboring view. The global disparity vector can be estimated and decoded periodically, for example, at every anchor picture. In such a case, the global disparity vector of a non-anchor picture is interpolated using the recent global disparity vectors from the anchor pictures. The global disparity vector is obtained as a single vector for the whole picture.
Turning to FIG. 1, a derivation of global disparity in accordance with the prior art is indicated generally by the reference numeral 100. The derivation 100 is shown with respect to a spatial axis 110 and a temporal axis 120.
The GDVcur between the current view and one of the neighboring views on a certain picture order count (POC) is derived using the following formula:
      GDV    cur    =            GDV      ahead        +                  ⌊                                                            POC                cur                            -                              POC                ahead                                                                    POC                behind                            -                              POC                ahead                                              ×                      (                                          GDV                behind                            -                              GDV                ahead                                      )                          ⌋            .      
GDVahead and GDVbehind are two recently decoded global disparity vectors. POCcur, POCahead, and POCbehind are picture order counts numbered along the temporal axis 120. The current frame can possibly have as many GDVcur as the number of inter-view prediction references defined in the sequence parameter set (SPS) of the multi-view video coding (MVC) extension syntax of the Joint Multi-view Video Model (JMVM).
To decode the global disparity, a syntax element global_disparity_mb_IX was proposed for use at the slice level. The syntax element includes measured global disparity vector components, where the global disparity of non-anchor pictures is derived using the above equation.
TABLE 1 specifies slice header syntax for motion skip mode for use with the multi-view video coding extension of the MPEG-4 AVC Standard.
TABLE 1slice_header_mvc_extension ( ) {CDescriptorfirst_mb_in_slice2ue(v)slice_type2ue(v)if ( view_level != 0 && anchor_pic_flag ) {if( slice_type = = P | | slice_type = = B ) {for( compldx = 0; compldx < 2;compldx++ )global_disparity_mb_l0[ compldx ]2se(v)}if(( slice_type = = B ) {for( compldx = 0; compldx < 2;compldx++ )global_disparity_mb_l1[ compldx ]2se(v)}}pic_parameter_set_id2ue(v)--- The remaining parts areidentical to JMVM ---
Some of the syntax elements in TABLE 1 are defined as follows:                global_disparity_mb_l0[compldx] specifies the global disparity in macroblock-size units between the current slice and the slice of an inter-view prediction reference for list0. The horizontal offset is decoded first in decoding order and is assigned Compldx=0. The vertical offset is decoded second in decoding order and is assigned Compldx=1.        global_disparity_mb_l1[compldx] has the same semantics as global_disparity_mb_l0, with l0 and list0 replaced by l1 and list1, respectively.        
TABLE 2 specifies macroblock layer syntax for motion skip mode.
TABLE 2macroblock_layer_mvc_extension ( ) {CDescriptorif (! anchor_pic_flag ) {motion_skip_flag2u(1) | ae(v)}if (! motion_skip_flag) {mb_type2ue(v) |ae(v)if( mb_type = = I_PCM ) {while( !byte_aligned( ) )pcm_alignment_zero_bit2f(1)for( i = 0; i < 256; i++ )pcm_sample_luma[ i ]2u(v)for( i = 0; i < 2 * MbWidthC *MbHeightC; i++ )pcm_sample_chroma[ i ]2u(v)} else {......2}}}--- The remaining parts areidentical to JMVM ---
Some of the syntax elements in TABLE 2 are defined as follows:                motion_skip_flag equal to 1 indicates that the coded macroblock is in motion skip mode. motion_skip_flag equal to 0 indicates that the coded macroblock is not in motion skip mode.        
The main drawback of this prior art approach is that the disparity within a scene varies a lot among different regions of the scene. For example, a foreground object will have a larger disparity as compared to the far background. Thus, covering the whole picture with a single “global disparity vector” is not precise. This could results in finding macroblocks from the neighboring view that do not really correspond to the current macroblock under consideration.